package com.zdkj.subway.st.dto.in;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 乘客事务退换票DTO
 *
 * @author
 * @date
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "乘客事务退换票DTO")
public class SwStInputPassengerWorkTicketDTO extends Model<SwStInputPassengerWorkTicketDTO> {
    private static final long serialVersionUID = 1L;

    /**
     * 线路编码
     */
    @ApiModelProperty(value = "线路编码")
    private String lineCode;
    /**
     * 车站编码
     */
    @ApiModelProperty(value = "车站编码")
    private String stationCode;
    /**
     * 操作类型 0:及时退换票;1:非及时退换票
     */
    @ApiModelProperty(value = "操作类型 0:及时退换票;1:非及时退换票")
    private String operationType;
    /**
     * 办理类型 0:退票;1:换票
     */
    @ApiModelProperty(value = "办理类型 0:退票;1:换票")
    private String handleType;

    @ApiModelProperty(value = "数据源(0:车站,1:线网)")
    private String dataSource;

    /**
     * 票种
     */
    @ApiModelProperty(value = "票种")
    private String ticketType;

    /**
     * 车票名称
     */
    @ApiModelProperty(value = "车票名称")
    private String ticketName;
    /**
     * 原卡号
     */
    @ApiModelProperty(value = "原卡号")
    private String cardOrder;
    /**
     * 替换卡号
     */
    @ApiModelProperty(value = "替换卡号")
    private String replaceCardOrder;
    /**
     * 金额预估金额
     */
    @ApiModelProperty(value = "金额预估金额")
    private BigDecimal amount;

    @ApiModelProperty(value = "新发票卡有效期")
    private String activeTime;

    @ApiModelProperty(value = "新票卡次数")
    private Integer ticketTimes;
    /**
     * 预估次数
     */
    @ApiModelProperty(value = "预估次数")
    private String estimatedNumber;
    /**
     * 无效票状态
     */
    @ApiModelProperty(value = "无效票状态:0:未发送;1:已发送")
    private String invalidTicketStatus;

    /**
     * 无效票确认状态
     */
    @ApiModelProperty(value = "无效票确认状态 0:未发送1:已发送2:审核通过3:审核未通过4:已完善5:已确认")
    private String invalidTicketConfirmStatus;

    /**
     * 办理人
     */
    @ApiModelProperty(value = "办理人")
    private String handlePersonName;
    /**
     * 办理人工号
     */
    @ApiModelProperty(value = "办理人工号")
    private String handlePersonCode;
    /**
     * 办理时间
     */
    @ApiModelProperty(value = "办理时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime handleTime;
    /**
     * 售票员
     */
    @ApiModelProperty(value = "售票员")
    private String conductorName;
    /**
     * 售票员工号
     */
    @ApiModelProperty(value = "售票员工号")
    private String conductorCode;
    /**
     * 班次
     */
    @ApiModelProperty(value = "班次")
    private String classNumber;
    /**
     * 状态:0:未提交;1:已提交
     */
    @ApiModelProperty(value = "状态:0:未提交;1:已提交")
    private String submitStatus;
    /**
     * 客值确认状态:0:未确认;1:已确认
     */
    @ApiModelProperty(value = "状态:0:未确认;1:已确认")
    private String confirmStatus;
    /**
     * 图片上传
     */
    @ApiModelProperty(value = "图片上传")
    private String filePath;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "部门ID")
    private Integer deptId;

    @ApiModelProperty(value = "创建人ID")
    private Integer creatorId;

    @ApiModelProperty(value = "创建人名称")
    private String creatorName;
    /**
     * 办理时间
     */
    @ApiModelProperty(value = "办理时间 yyyy-MM-dd")
    //@ExcelIgnore
    @TableField(exist = false)
    private String HandleTimeDTO;

}
